package tag_api

import (
	"github.com/gin-gonic/gin"
	"giv-vue-blog/models"
	"giv-vue-blog/models/res"
	"giv-vue-blog/service/common"
)

// TagListView 查看标签列表
// @Summary 查看标签列表
// @Description 查看标签列表
// @Tags 标签管理
// @Accept json
// @Produce json
// @Param data query models.PageInfo true "查询参数"
// @Router /api/tag [get]
// @Success 200 {object} res.Response{data=array} "操作成功"
// @Failure 400 {object} res.Response "请求参数错误"
// @Failure 500 {object} res.Response "服务器内部错误"
func (TagApi) TagListView(c *gin.Context) {
	//PageInfo 这是一个公共查询用的结构体 包含排序和分页
	var ad models.PageInfo
	err := c.ShouldBindQuery(&ad)
	if err != nil {
		res.FailedWithError(err, &ad, c)
		return
	}
	//调用service层写好的分页查询和排序接口
	list, count, err := common.CommonList(models.TagModel{}, common.Option{
		PageInfo: ad,
		Debug:    true,
	})
	if err != nil {
		res.FailedWithMsg("查看标签列表失败", c)
		return
	}
	//需要展示这个标签下的文章列表
	res.OkWithList(list, count, c)
	return

}
